<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>文章列表</title>
    <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="css/iconfont.css">
    <link rel="stylesheet" href="css/main.css">
    <script src="./libs/jquery-1.12.4.min.js"></script>

</head>

<body>
    <div class="container-fluid">
        <div class="common_title">
            用户信息修改
        </div>
        <div class="container-fluid common_con">
            <form class="form-horizontal article_form" id="form">
                <div class="form-group">
                    <label for="inputEmail1" class="col-sm-2 control-label">用户名称：</label>
                    <div class="col-sm-4">
                        <input type="text" name="username" class="form-control username" id="username" value="李思思">
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputEmail2" class="col-sm-2 control-label">昵称：</label>
                    <div class="col-sm-4">
                        <input type="text" name="nickname" class="form-control nickname" id="nickname" value="哈哈思">
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputEmail3" class="col-sm-2 control-label">邮箱：</label>
                    <div class="col-sm-4">
                        <input type="text" name="email" class="form-control email" id="inputEmail3" value="520@163.com">
                    </div>
                </div>

                <div class="form-group">
                    <label for="inputPassword3" class="col-sm-2 control-label">用户图标：</label>
                    <div class="col-sm-10">
                        <!-- 预览用的img -->
                        <img src="images/2.jpg" alt="" class="user_pic">
                        <!-- 实际开发的时候,这个选择文件的这个按钮基本不用,因为真的很丑.  -->
                        <!-- 实际开发的时候一般的会让ui小姐姐设计一个好看的按钮放在这里,丑的隐藏 -->
                        <input style="display: none" name="userPic" type="file" id="exampleInputFile">
                        <!-- 给label标签的for属性赋值,值是input标签的id,那这样的话点击label就相当于点击了input -->
                        <br>
                        <label for="exampleInputFile">
                            <img src="./images/uploads_icon.jpg" style="height: 50px;" alt="">
                        </label>
                    </div>
                </div>

                <div class="form-group">
                    <label for="inputEmail4" class="col-sm-2 control-label">密码：</label>
                    <div class="col-sm-4">
                        <input type="password" name="password" class="form-control password" id="inputEmail4"
                            value="12345678">
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-sm-offset-2 col-sm-10">
                        <button type="submit" class="btn btn-success btn-edit">修改</button>
                    </div>
                </div>
            </form>
        </div>
    </div>

    <script src="./libs/http.js"></script>
    <script>
        //入口函数
        $(function () {
            //一:编辑第一步:
            //一进到页面,就发送ajax请求,获取所有的个人信息,显示在对应的标签中. 
            $.ajax({
                type: 'get',
                url: BigNew.user_detail,
                success: function (backData) {
                    if (backData.code == 200) {
                        //个人信息显示在对应的标签中.
                        // $('.username').val(backData.data.username);
                        // $('.nickname').val(backData.data.nickname);
                        // $('.email').val(backData.data.email);
                        // $('.password').val(backData.data.password);
                        //上面注释的这几句话,完全可以用下面这个forin代替
                        for (var key in backData.data) {
                            $('.' + key).val(backData.data[key]);
                        }
                        $('img.user_pic').attr('src', backData.data.userPic);
                    }
                }
            });

            //二: 图片预览
            //1.给选中图像的input标签设置值改变change事件. 
            $('#exampleInputFile').on('change', function () {
                //2.获取选中的这个头像
                var file1 = this.files[0];
                //3.给这个头像文件设置一个url
                var url = URL.createObjectURL(file1);
                //4.把这个url赋值给预览用的img的src属性
                $('.user_pic').attr('src', url);
            })


            //三:个人中心编辑第二步
            //1.给修改按钮设置点击事件. 
            $('.btn-edit').on('click', function (e) {
                //取消form表单中的submit的默认提交行为
                e.preventDefault();
                //2.获取所有修改后的信息. 
                //form获取数据
                var form1 = document.querySelector('form'); //dom元素
                var fd = new FormData(form1);
                //检查form表单中,需要获取数据的标签是否有name属性,以及name属性的值是否和接口的键一致. 
                //3.发送ajax请求
                $.ajax({
                    type: 'post',
                    url: BigNew.user_edit,
                    data: fd,
                    contentType: false,
                    processData: false,
                    success: function (backData) {
                        if (backData.code == 200) {
                            alert('更新成功!');
                            //4.完成修改,主页更新新的内容. 
                            //第一种: 直接更新父页面
                            //parent.window.location.reload();

                            //第二种: 发送ajax请求,获取新的个人信息,找到父页面上的标签,内容显示对应的标签上
                            $.ajax({
                                type: 'get',
                                url: BigNew.user_info, //使用的是http.js中的接口地址
                                success: function (backData) {
                                    //console.log(backData);
                                    if (backData.code == 200) {
                                        //1.2 个人信息显示在页面上. 
                                        parent.$('.user_info>span>i').text(backData.data.nickname);
                                        parent.$('.user_info>img').attr('src', backData.data.userPic);
                                        parent.$('.user_center_link>img').attr('src',backData.data.userPic);
                                    }
                                }
                            });

                        }
                    }
                });
            })


        })
    </script>
</body>

</html>